const { faker } = require("@faker-js/faker");

module.exports = () => {
  let data = {
    user: [],
    userList: [],
    roleList: [],
    baseList: [],
    lotsList: [],
    qList: [],
  };
  data.user.push({
    username: faker.name.fullName(),
    password: faker.internet.password(),
  });

  // data.lotsList.push({
  //   base:faker.random.words(),
  //   active:faker.datatype.boolean(),
  //   createTime:faker.datatype.datetime()
  // })

  for (let i = 1; i <= 100; i++) {
    data.userList.push({
      key: i,
      id: i,
      count: 20,
      nickname: faker.random.words(),
      username: faker.random.words(),
      role: faker.random.words(),
      phone: faker.phone.imei(),
      creatTime: faker.datatype.datetime({
        min: 1577836800000,
        max: new Date().getTime(),
      }),
      tags: ["启用"],
    });
  }

  // 角色列表
  for (let i = 1; i <= 100; i++) {
    data.roleList.push({
      key: i,
      id: i,
      roleName: faker.random.words(),
      authorityName: faker.random.words(),
      updateTime: faker.datatype.datetime({
        min: 1577836800000,
        max: new Date().getTime(),
      }),
      tags: ["启用"],
    });
  }

  // 批号
  for (let i = 1; i <= 20; i++) {
    data.lotsList.push({
      id: i,
      batchNumber: faker.random.words(),
      // validityPeriodStart ----- 有效期开始时间
      // validityPeriodEnd ----- 有效期结束时间
      // createTime ----- 创建时间
      // batchStatus ----- 状态 0-未开始 1-进行中 2-已结束
      dataStatus: Math.floor(Math.random() * 2),
      createTime: faker.datatype.datetime({
        min: 1577836800000,
        max: new Date().getTime(),
      }),
      isDeleted: Math.floor(Math.random() * 2),
    });
  }

  // 基质
  for (let i = 1; i <= 20; i++) {
    data.baseList.push({
      id: i,
      bsName: faker.random.words(),
      dataStatus: Math.floor(Math.random() * 2),
      createTime: faker.datatype.datetime({
        min: 1577836800000,
        max: new Date().getTime(),
      }),
      isDeleted: Math.floor(Math.random() * 2),
    });
  }

  // 质控品
  for (let i = 1; i <= 20; i++) {
    data.qList.push({
      id: i,
      qcpName: faker.random.words(),
      manufacturer: faker.random.words(),
      qcpStatus: Math.floor(Math.random() * 2),
      // basicSubstanceId:i,
      createTime: faker.datatype.datetime({
        min: 1577836800000,
        max: new Date().getTime(),
      }),
      isDeleted: Math.floor(Math.random() * 2),
    });
  }

  return data;
};
